package com.zmn.oms.third.zhimi.api;

import lombok.Data;

/**
 * 类描述：
 *
 * @author lhl
 * @date 2020/04/27 19:18
 */
@Data
public class ZhimiSyncOrderStatusReq {

    /**
     * 必填，服务单号
     */
    private String name;
    /**
     * 必填，活动类型：
     *  1：服务商接单；2：服务出发；3：服务到位；4：服务完工；5：联系取消；
     *  7：派工工程师；10：改约；12：联系不上；14：预约成功；15：拆机
     */
    private Integer dealstatus;
    /**
     * 必填，处理信息，格式为json字符串，具体内容与活动类型（dealstatus）对应
     */
    private String jsondata;
    /**
     * 非必填，服务人员
     */
    private String serviceman;
    /**
     * 必填，处理时间
     */
    private String dealtime;
    /**
     * 非必填，处理地点
     */
    private String dealaddress;
    /**
     * 比填，备注信息
     */
    private String remark;


    /**
     * 数据格式：1，服务商接单
     */
    @Data
    public class AcceptOrder {
        /**
         * 接单时间，格式：yyyy-MM-dd HH:mm:ss
         */
        private String receivetime;
    }

    /**
     * 数据格式：2，服务出发
     */
    @Data
    public class Departure {
        /**
         * 出发时间，格式：yyyy-MM-dd HH:mm:ss
         */
        private String departuretime;
        /**
         * 出发地点
         */
        private String departureaddress;
        /**
         * 备注
         */
        private String remark;
    }

    /**
     * 数据格式：3，服务到位
     */
    @Data
    public class Visited {
        /**
         * 到达时间，格式：yyyy-MM-dd HH:mm:ss
         */
        private String arrivaltime;
        /**
         * 到达地点
         */
        private String departureaddress;
        /**
         * 备注
         */
        private String remark;
    }

    /**
     * 数据格式：3，服务完成
     */
    @Data
    public class CompleteOrder {
        /**
         * 完工时间，格式：yyyy-MM-dd HH:mm:ss
         */
        private String completiontime;
        /**
         * 完工工程师姓名
         */
        private String workername;
        /**
         * 备注
         */
        private String remark;
    }

    /**
     * 数据格式：5：联系取消
     */
    @Data
    public class CancelOrder {
        /**
         * 改约时间，格式：yyyy-MM-dd HH:mm:ss
         */
        private String canceltime;
        /**
         * 该约原因 1:客户取消/2:无法上门
         */
        private String reason;
    }

    /**
     * 数据格式：7：派工工程师
     */
    @Data
    public class DistributeOrder {
        /**
         * 派单时间，格式：yyyy-MM-dd HH:mm:ss
         */
        private String dispatchingtime;
        /**
         * 接单师傅
         */
        private String workername;
        /**
         * 师傅电话
         */
        private String phonenumber;
    }

    /**
     * 数据格式：10：改约
     */
    @Data
    public class ResetDutyTime {
        /**
         * 改约时间，格式：yyyy-MM-dd HH:mm:ss
         */
        private String revisiontime;
        /**
         * 该约原因 1:用户调整上门时间/2:推迟上门时间/3:缺配件/4:以上都不是
         */
        private Integer reason;
    }

    /**
     * 数据格式：12：联系不上
     */
    @Data
    public class Remark {
        private String remark;
    }

    /**
     * 数据格式：14：预约成功
     */
    @Data
    public class DutyTime {
        /**
         * 预约时间，格式：yyyy-MM-dd HH:mm:ss
         */
        private String booktime;
        /**
         * 备注，默认使用“预约成功”
         */
        private String remark;
    }

    /**
     * 数据格式：15：拆机
     */
    @Data
    public class DismantleMachine {
        /**
         * SN码
         */
        private String sn;
        /**
         * 三级机型
         */
        private String productcode;
        /**
         * 现场图片
         */
        private String uploadpics;
    }

}
